package com.woniuxy.yoga.progress.service;

import com.woniuxy.yoga.progress.dao.model.Expcard;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.progress.model.param.CreateExpCardParam;

/**
 * <p>
 * 体验卡流程表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface ExpcardService extends IService<Expcard> {

    /**
     * 通过订单编号查询体验课进度
     * @param orderNum 订单编号
     * @return Expcard
     */
    Expcard getByOrderNum(String orderNum);

    /**
     * 通过用户id查询体验课进度
     * @param userId 订单编号
     * @return Expcard
     */
    Expcard getByUserId(Integer userId);

    /**
     * 创建体验课进度表
     * @param param 创建体验课进度表参数
     */
    void createExpCard(CreateExpCardParam param);

    /**
     * 完成体验卡
     * @param expcardId 体验卡id
     */
    void finishExpcard(Integer expcardId);

    /**
     * 查询用户未完成进度卡
     * @param userId userid
     * @return Expcard
     */
    Expcard selectUnfinishExp(Integer userId);
}
